Web Data এবং APIs থেকে ডেটা সংগ্রহ

Data Import এবং Export (ডেটা ইমপোর্ট এবং এক্সপোর্ট) - আর প্রোগ্রামিং (R Programming) - Computer Programming

259

R প্রোগ্রামিং: Web Data এবং APIs থেকে ডেটা সংগ্রহ

বর্তমান সময়ে, ওয়েব থেকে ডেটা সংগ্রহ করা একটি সাধারণ কাজ হয়ে দাঁড়িয়েছে, এবং R প্রোগ্রামিং ভাষা ব্যবহার করে বিভিন্ন ওয়েব সাইট বা APIs থেকে ডেটা সংগ্রহ করা সম্ভব। এর জন্য R-এ বিভিন্ন প্যাকেজ এবং ফাংশন রয়েছে, যেগুলোর মাধ্যমে web scraping (ওয়েব স্ক্র্যাপিং) এবং API calls (এপিআই কল) করা যায়।

এখানে আমরা দেখব কিভাবে web scraping এবং API calls এর মাধ্যমে ডেটা সংগ্রহ করা যায়।


১. Web Scraping (ওয়েব স্ক্র্যাপিং)

Web scraping হল এমন একটি প্রক্রিয়া যার মাধ্যমে আপনি একটি ওয়েব পেজের HTML কন্টেন্ট থেকে প্রয়োজনীয় ডেটা সংগ্রহ করেন। R-এ এই কাজটি করার জন্য বিভিন্ন প্যাকেজ রয়েছে, তবে সবচেয়ে জনপ্রিয় দুটি প্যাকেজ হলো rvest এবং **httr**।

১.১ rvest প্যাকেজের মাধ্যমে Web Scraping

rvest হল একটি প্যাকেজ যা ওয়েব পেজের HTML ডকুমেন্ট থেকে ডেটা সংগ্রহ করতে সাহায্য করে।

rvest প্যাকেজ ইনস্টল এবং লোড করা:

install.packages("rvest")
library(rvest)

Web Scraping করার উদাহরণ:

ধরা যাক আপনি https://example.com ওয়েব সাইট থেকে ডেটা সংগ্রহ করতে চান।

  1. পেজ থেকে HTML ডেটা সংগ্রহ করা:
url <- "https://example.com"
page <- read_html(url)
  1. সিরিয়াল বা নির্দিষ্ট এলিমেন্ট খোঁজা (CSS সিলেক্টর):

আপনি HTML থেকে নির্দিষ্ট ডেটা (যেমন টেক্সট, লিঙ্ক, ইমেজ) এক্সট্র্যাক্ট করতে পারেন। এটি CSS সিলেক্টর ব্যবহার করে করা হয়।

# পেজের সমস্ত প্যারাগ্রাফ (p ট্যাগ) সংগ্রহ করা
paragraphs <- page %>%
  html_nodes("p") %>%
  html_text()

# আউটপুট দেখতে
head(paragraphs)
  1. লিঙ্ক সংগ্রহ করা:
# সমস্ত লিঙ্ক (a ট্যাগ) সংগ্রহ করা
links <- page %>%
  html_nodes("a") %>%
  html_attr("href")

# আউটপুট দেখতে
head(links)

১.২ httr প্যাকেজের মাধ্যমে Web Scraping

httr প্যাকেজটি API কল এবং HTTP রিকোয়েস্ট করার জন্য ব্যবহৃত হয়, তবে এটি ওয়েব স্ক্র্যাপিংয়ের জন্যও কার্যকর।

httr প্যাকেজ ইনস্টল এবং লোড করা:

install.packages("httr")
library(httr)

httr দিয়ে HTTP রিকোয়েস্ট পাঠানো:

# GET রিকোয়েস্ট
response <- GET("https://example.com")

# ওয়েব পেজের HTML কন্টেন্ট দেখা
content(response, "text")

২. API Calls (এপিআই কল)

এপিআই (Application Programming Interface) হল একটি ইন্টারফেস যা সফটওয়্যার অ্যাপ্লিকেশনগুলিকে একে অপরের সঙ্গে যোগাযোগ করতে দেয়। R ব্যবহার করে আপনি বিভিন্ন ধরনের এপিআই থেকে ডেটা সংগ্রহ করতে পারেন। সাধারণত JSON বা XML ফরম্যাটে ডেটা পাওয়া যায়, এবং httr প্যাকেজ বা jsonlite প্যাকেজ ব্যবহার করে তা প্রক্রিয়া করা যায়।

২.১ httr প্যাকেজের মাধ্যমে API Call করা

  1. GET রিকোয়েস্ট:
    এই ফাংশন ব্যবহার করে আপনি HTTP GET রিকোয়েস্ট পাঠাতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো যেখানে আমরা JSON ফরম্যাটে ডেটা সংগ্রহ করব।
library(httr)

# API রিকোয়েস্ট পাঠানো
response <- GET("https://jsonplaceholder.typicode.com/posts")

# রেসপন্স দেখুন
content(response, "text")
  1. JSON ডেটা প্রক্রিয়া করা:

এখানে jsonlite প্যাকেজ ব্যবহার করে JSON ডেটাকে রিড এবং রূপান্তর করা হবে।

library(jsonlite)

# JSON ডেটা রূপান্তর করা
data <- fromJSON(content(response, "text"))

# প্রথম ৬টি রেকর্ড দেখুন
head(data)

২.২ POST রিকোয়েস্ট (এপিআইতে ডেটা পাঠানো)

কখনও কখনও আপনি API তে ডেটা পাঠাতে চাইবেন। এই কাজের জন্য POST রিকোয়েস্ট ব্যবহার করা হয়।

response <- POST("https://jsonplaceholder.typicode.com/posts", 
                 body = list(title = "foo", body = "bar", userId = 1), 
                 encode = "json")

# রেসপন্স দেখুন
content(response, "text")

২.৩ API Key ব্যবহার করা

কিছু API-তে ডেটা অ্যাক্সেসের জন্য API Key প্রয়োজন হয়। এই Key ব্যবহার করে API তে অথেনটিকেশন করা হয়।

# API Key সহ GET রিকোয়েস্ট
response <- GET("https://api.example.com/data",
                add_headers(Authorization = "Bearer YOUR_API_KEY"))

৩. Web Data এবং API থেকে ডেটা সংগ্রহের জন্য অন্য প্যাকেজ

  1. jsonlite: JSON ডেটা প্রক্রিয়া করার জন্য জনপ্রিয় প্যাকেজ।

    install.packages("jsonlite")
    library(jsonlite)

    JSON ফাইল লোড করতে:

    data <- fromJSON("https://jsonplaceholder.typicode.com/posts")
  2. XML: XML ডেটা থেকে ডেটা সংগ্রহ করতে।

    install.packages("XML")
    library(XML)

    XML ডেটা পার্স করার উদাহরণ:

    xml_data <- xmlParse("https://www.w3schools.com/xml/note.xml")

সারসংক্ষেপ

  • Web Scraping: ওয়েব স্ক্র্যাপিং করার জন্য rvest এবং httr প্যাকেজ ব্যবহার করা হয়। এই প্যাকেজগুলি দিয়ে HTML পেজ থেকে ডেটা এক্সট্র্যাক্ট করা যায়।
  • API Calls: API থেকে ডেটা সংগ্রহ করার জন্য httr এবং jsonlite প্যাকেজ ব্যবহার করা হয়। GET এবং POST রিকোয়েস্ট পাঠিয়ে API থেকে JSON বা XML ডেটা প্রক্রিয়া করা যায়।
  • R-এ বিভিন্ন প্যাকেজ এবং ফাংশন ব্যবহার করে ওয়েব ডেটা এবং API থেকে ডেটা সংগ্রহ করা এবং সেগুলি বিশ্লেষণ করা সহজ ও কার্যকর।

এভাবে আপনি R ব্যবহার করে ওয়েব ডেটা সংগ্রহ করতে এবং API থেকে ডেটা এক্সট্র্যাক্ট করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...